تولید اعداد random و تصادفی در جاوااسکریپت
آموزش رایانه ,نرم افزار,سخت افزار و کاربردهای کامپیوتر در انجام فعالیت های هنری نظیر برنامه نویسی- فیلم سازی-گرافیک-انیمیشن - طراحی و...
تولید اعداد random و تصادفی در جاوااسکریپت
دو شنبه 8 اسفند 1390 ساعت 23:49 | بازدید : 1481 | نویسنده : محسن زاده | ( نظرات )

:: در زبان های برنامه نویسی مختلف اعداد تصادفی اهمیت ویژه ای دارند . در خیلی از الگوریتم های پیشرفته ای که در علوم کامپیوتر استفاده میشه (مثل الگوریتم های ژنتیک) اعداد رندم نقش مهمی رو ایفا میکنند . بدلیل کاربرد زیادشون مخصوصا تو زبان جاوا اسکریپت و صفحات وب ، امروز شیوه ی تولید اعداد تصادفی رو در زبان جاوااسکریپت مفصلا توضیح میدیم .

:: اگر شما بخواید کدهای جاوااسکریپتی شبیه کد نمایش عکس تصادفی ، کد پخش موزیک رندم ، کد نمایش سخن و متن اتفاقی و امثال این کدها رو بنویسید ، حتما نیاز دارید تا عددی رو به صورت تصادفی تولید کنید که معمولا ایندکس آرایه ی نگه دارنده ی آدرس عکس ، موزیک یا نوشته ی تصادفی انتخاب شده هست .

:: تولید اعداد اعشاری تصادفی بین صفر و یک :

:: خوب ، بریم سر اصل مطلب . در javascript برای تولید اعداد random از متد ()Math.random استفاده میشه . متد ()Math.random یک عدد اعشاری بین ۰ و ۱ رو تولید میکنه . به طور مثال اگر شما کد زیر رو درون تگ body در صفحه ی وب قرار بدید یک عدد اعشاری بین ۰ و ۱ ، با بیش از ده رقم اعشار براتون چاپ میشه .


:: خروجی این کد (یک عدد تصادفی اعشاری بین ۰ و ۱) : (با رفرش صفحه عددی جدید می بینید)

0.22965018290903094

در کد فوق عدد تصادفی توسط متد ()Math.random تولید شده و در متغیر randomNumber قرار میگیره و مقدار این متغیر توسط متد ()document.write در صفحه ی وب چاپ میشه .

:: تولید اعداد اعشاری تصادفی بین صفر و عددی دلخواه :

حالا اگربخواید اعداد بزرگتری رو به صورت رندم تولید کنید کافیه عدد تولید شده توسط متد رندم رو در حداکثر عدد دلخواهتون ضرب کنید . مثلا اگر میخواید یک عدد رندم بین ۰ تا ۱۰۰ تولید کنید ، همون کد بالا رو به شکل زیر داریم :


:: خروجی این کد (یک عدد تصادفی اعشاری بین ۰ و ۱۰۰) : (با رفرش صفحه عددی جدید می بینید)

93.28341764849708

:: تولید اعداد صحیح تصادفی بین صفر و عددی دلخواه :

برای اینکه اعداد تصادفی تولید شده رو از حالت اعشاری دربیارید و اعداد رو به صورت صحیح و بدون قسمت اعشاری داشته باشید باید از متد ()Math.floor استفاده کنید . این تابع یک عدد اعشاری رو به عنوان ورودی میگیره و خروجیش جزء صحیح اون عدد هست . جزء صحیح همون بزرگترین عدد صحیح کوچکتر از یک عدد اعشاریه . پس برای تولید اعداد صحیح بین ۰ تا یک عدد دلخواه مثل ۱۰۰ ، کد رو به شکل زیر داریم :


در این کد ابتدا یک عدد اعشاری بین ۰ و ۱ توسط تابع random تولید میشه ، بعد ضرب در ۱۰۰ میشه و سپس عدد حاصل ،که یک عدد اعشاری بین ۰ تا ۱۰۰ هست ، جزء صحیحش توسط متد floor گرفته میشه و در متغیر randomNumber قرار میگیره .
:: خروجی این کد (یک عدد تصادفی صحیح بین ۰ و ۱۰۰) : (با رفرش صفحه عددی جدید می بینید)

41

:: تولید اعداد صحیح تصادفی بین دو عدد دلخواه :

شاید دوست نداشته باشید عدد تصادفی از ۰ تا یه عدد دلخواه باشه . و بخواید مثلا عدد تولید شده بین ۸۰ تا ۱۰۰ باشه . انجام اینکار هم سادست . فرض کنید که می خواید اعداد تصادفی تولید شده بین دو عدد x و y باشه . کافیه عدد باند پایین یعنی x رو به عدد رندم تولید شده اضافه کنید و تابع رندم رو به جای اینکه در y ضرب کنید در y-x ضرب کنید . مثلا اگر بخواید اعداد تصادفی تولید شده بین ۸۰ و ۹۲ باشند ، کد رو باید به صورت زیر بنویسید :


12 همون اختلاف بین ۹۲ و ۸۰ هست ، و ۸۰ رو هم که با عدد تصادفی تولید شده جمع کردیم . در واقع حداقل می خواید ۸۰ رو داشته باشید به اضافه ی یک عدد تصادفی بین ۰ تا ۱۲ !
:: خروجی این کد (یک عدد تصادفی صحیح بین ۸۰ و ۹۲) : (با رفرش صفحه عددی جدید می بینید)

80

:: تابع تولید اعداد صحیح تصادفی بین دو عدد دلخواه :

:: در آخر هم یک تابع ساده براتون نوشتم که دیگه نخواید کد اضافه بزنید ! به راحتی می تونید کد زیر رو درون تگ head اضافه کنید :


و درون تگ body به همین راحتی از اون استفاده کنید(که در مثال زیر چهار بار برای دامنه های مختلف عددی استفاده شده) :


تگ br هم که استفاده شده برای نمایش هر عدد در یک خط جدید است .
:: خروجی کد (چهار عدد تصادفی در دامنه های ذکر شده در کد) : (با رفرش صفحه اعداد نو میبینید)

1
11
994
1134

اگر این مقاله رو خوب خونده باشید ، می دونید که این تابع روش کارش چطور بوده .
:: دوستان عزیز ، برای نوشتن این مقالات وقت گذاشته شده و زحمت کشیده شده . لطفا در صورت انتشار این مطلب در وبگاهتون منبع رو ذکر کنید . با تشکر فراوان .
:: چیز دیگه مونده در مورد تولید اعداد تصادفی ؟



|
امتیاز مطلب : 8
|
تعداد امتیازدهندگان : 2
|
مجموع امتیاز : 2


مطالب مرتبط با این پست
می توانید دیدگاه خود را بنویسید


نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه:








منوی کاربری


عضو شوید


نام کاربری
رمز عبور

:: فراموشی رمز عبور؟

عضویت سریع

نام کاربری
رمز عبور
تکرار رمز
ایمیل
کد تصویری
نویسندگان
خبرنامه
براي اطلاع از آپيدت شدن وبلاگ در خبرنامه وبلاگ عضو شويد تا جديدترين مطالب به ايميل شما ارسال شود



دیگر موارد

آمار وب سایت:  

بازدید امروز : 144
بازدید دیروز : 69
بازدید هفته : 213
بازدید ماه : 213
بازدید کل : 55989
تعداد مطالب : 32
تعداد نظرات : 12
تعداد آنلاین : 1



چت باکس

نام :
وب :
پیام :
2+2=:
(Refresh)
تبادل لینک هوشمند

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان خانه رایانه و آدرسwww.ashkansoft.loxblog.com لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.






آمار وب سایت

آمار مطالب

:: کل مطالب : 32
:: کل نظرات : 12

آمار کاربران

:: افراد آنلاین : 1
:: تعداد اعضا : 4

کاربران آنلاین


آمار بازدید

:: بازدید امروز : 144
:: باردید دیروز : 69
:: بازدید هفته : 213
:: بازدید ماه : 213
:: بازدید سال : 1161
:: بازدید کلی : 55989